---
title: clsAttorneyTableManager maintenance
summary: attorney table maintenance
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
operation_id: OP-005
trigger: attorney table maintenance
---

# clsAttorneyTableManager maintenance

Attorney table maintenance.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-005 |
| **Trigger** | attorney table maintenance |
| **Inputs** | Current manager state, current claim/case context, and any workflow-specific parameters or collections. |
| **Outputs** | Updated collections, messages, or side effects specific to the operation. |
| **Primary components** | `clsAttorneyTableManager` |
| **Entry point** | `SAIF.Application.Claim.Legal\clsAttorneyTableManager.vb` |

## Steps

1. Constructor loads lookup lists (durations, hearing locations, schedule types) via inline SQL and caches some in `HttpContext.Current.Cache`.
2. Insert/Delete operations exist for: Conflict, PolicyAssignment, WorkerAssignment, Schedule (+TimeOff), OutOfTownRotation.
3. `OnWrite` saves six child collections via `SaveChildObject`, then sets `m_SelectedScheduleEmployeeID = "SAVE"` so the selected employee remains selected after the postback.*
4. `ProcessAjaxRequest` handles `PolicyChange` and `ConflictPolicyChange` requests, returning JSON via `JavaScriptSerializer`.
5. `RotationsByLocationReport` and `ConflictReport` build XML report payloads.

- Primary rules: [BR-030](../business-rules.md#br-030-saving-attorney-tables-persists-six-child-collections-in-a-fixed-order-within-one-write), [BR-031](../business-rules.md#br-031-lookup-code-lists-are-cached-in-process-for-8-hours-sliding)

## Failure and edge-case behavior

- Failures surface as manager messages or blocked workflow actions specific to the source operation.

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
  Start([Trigger]) --> S1[Load current state]
  S1 --> S2[Apply operation rules]
  S2 --> D{"Validation or security<br>issue?"}
  D -->|Yes| EndErr(["Return message or block<br>action"])
  D -->|No| EndOk(["Return updated workflow<br>state"])
```

## Related documentation
- [Index](../index.md)
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Security and authorization](../security-authorization.md)
- [Database tables](../database-tables.md)
- [SQL catalog](../sql/index.md)
- [Procedures](../procedures/index.md)
- [API reference](../api/index.md)

## Sources
- SAIF.Application.Claim.Legal\clsAttorneyTableManager.vb
